import http from "@/utils/request";
// 商品相关请求
interface IResProListData {
  code: string;
  message: string;
  data: {
    token: string;
    adminname: string;
  };
}
// axios<类型>() 限制r.data的类型
// http<类型>() 限制r.data的类型
function proListRequest(count = 1, limitNum = 10, search = "", category = "") {
  //http函数返回的是什么？promsie对象
  // productSearch 把http函数调用以后promsie对象作为了返回值
  return http<IResProListData>({
    method: "get",
    url: "/admin/pro/list",
    params: { count, limitNum, search, category },
  });
}

interface IResDelListData {
  code: string;
  message: string;
  data: {
    token: string;
    adminname: string;
  };
}
// axios<类型>() 限制r.data的类型
// http<类型>() 限制r.data的类型
function proDelRequest(proid: string) {
  //http函数返回的是什么？promsie对象
  // productSearch 把http函数调用以后promsie对象作为了返回值
  return http<IResDelListData>({
    method: "delete",
    url: "/admin/pro/product/" + proid,
    data: {},
  });
}

interface IResUpdateData {
  code: string;
  message: string;
  data: {
    token: string;
    adminname: string;
  };
}
// axios<类型>() 限制r.data的类型
// http<类型>() 限制r.data的类型
function proUpdateRequest(proid: string, obj: object) {
  //http函数返回的是什么？promsie对象
  // productSearch 把http函数调用以后promsie对象作为了返回值
  return http<IResUpdateData>({
    method: "patch",
    url: "/admin/pro/product/" + proid,
    data: obj,
  });
}

interface IResUpdateData {
  code: string;
  message: string;
  data: {
    token: string;
    adminname: string;
  };
}
// axios<类型>() 限制r.data的类型
// http<类型>() 限制r.data的类型
function proSendRequest(proid: string, obj: object) {
  //http函数返回的是什么？promsie对象
  // productSearch 把http函数调用以后promsie对象作为了返回值
  return http<IResUpdateData>({
    method: "post",
    url: "/admin/pro/product/" + proid,
    data: obj,
  });
}

export { proListRequest, proDelRequest, proUpdateRequest, proSendRequest };
